Programmable Logic Devices (PLDs) are a well-known type of digital integrated circuit that can be programmed to perform specified logic functions. One type of PLDs, the Field-Programmable Gate Array (FPGA), generally includes an array of programmable Look-Up Tables (LUTs) interconnected by a programmable interconnect structure. The LUTs and the interconnect are typically programmed by loading a stream of configuration bits into internal configuration memory cells that define how the LUTs and the interconnects are configured. The collective states of the individual memory cells determine the function of the FPGA.
The programmable interconnect structure typically includes a large number of interconnect lines of various lengths interconnected by programmable switches. These switches are controlled by select lines that originate from configuration memory cells. Thus, the values stored in the configuration memory cells determine the “routing,” i.e., the electrical connections between various points in the FPGA. Switches can also be used to select a signal from one of several interconnect lines and to pass the selected signal to a LUT, or to select one of several output signals from a LUT to pass to an interconnect line.
An interconnect structure can be implemented in various ways. For example, a set of switches (11) can implement a multiplexer structure that selects one of several interconnect lines (12) and drives a signal on the selected interconnect line onto a destination interconnect line (13). One such set of switches is shown in FIG. 1.
A standard way to implement a switch is by the use of a cMOS transmission gate (21), as shown in FIG. 2. It is well known that the use of full transmission gate comprised of paired nMOS transistor (22) and pMOS transistor (23), with the pMOS transistor being driven by the complementary signal (24), provides good performance in terms of static power consumption. However, this solution doubles the size of the multiplexer by doubling the number of pass transistors, increases the parasitic capacitance, and thus degrades the timing performance. In addition, both the true signal (25) and complementary signal (24) must be provided to the paired transistors, which further increases the die area. Large buffers must also be provided to handle the increased load of driving both the nMOS and pMOS transistors.
One solution to this problem is to use single pass-transistor switches, (31). Since the switching speed of an nMOS pass transistor is superior to that of an pMOS pass transistor, programmable routing and logic in FPGAs are typically implemented using nMOS pass transistors, as shown in FIG. 3(a). Since the threshold voltage drop, VT, across an nMOS device degrades the high logic value, also referred to as Strong ‘1’, to a lower voltage level referred to as Weak ‘1’, causing the pMOS transistor (32) of the downstream buffer (33) to not turn fully off, this approach suffers from static power consumption and reduced noise margins, as shown in FIG. 3(b).
The timing performance of FPGA's is mainly limited by the delay of the programmable interconnect network. The presence of the parasitics resistance and capacitance along the wire, and the on resistance and the parasitic capacitances of the MOS pass transistor degrades the signal waveform as it propagates along the interconnect. The propagation delay is a byproduct of the degradation of the signal, as shown in FIGS. 4 and 5. The rise time (51) and fall time (52) of the midpoint signal are slow compared to the input signal. Power consumption is also a byproduct of the degradation of the signal. As shown in FIGS. 6 and 7, the dynamic power consumption increases with increasing signal degradation.
It is well known that the propagation delay increases quadratically with the number of series switches (as described, for example, in J. M. Rabaey, A. Chandrakasan, and B. Nikolić, “Digital Integrated Circuits: A Design Perspective,” 2nd edition, Prentice-Hall, 2003). On the other side, the delay through a chain of buffers grows linearly with the number of such devices. The equivalent delay point is typically three or four series connections. The classical approach to reduce the dependence of delay on the number of pass transistors and the wire length from quadratic to linear is the insertion of buffers and repeaters. In FIG. 3(a), an inverting buffer (33) is provided at the common node of a multiplexer. However, there is a large static power consumption that should be taken care of. A so called level-restoring buffer aims to reduce this static power consumption.
FIG. 8 illustrates one well-known implementation of the level-restoring buffer. The standard pMOS transistor pull-up (81), called a keeper, in an active feedback of an inverter (82) reduces the static power consumption, but degrades the signal propagation delay and/or active power consumption. Also a well-known implementation of the level-restoring buffer is with a keeper (91) and a bleeder (92) is illustrated in FIG. 9.
Another possible solution to the threshold voltage drop problem is to drive the gates of the nMOS pass transistors with a voltage level VGG higher than VDD. In this case, the voltage level after passing a high value VDD through the nMOS pass transistor is the gate voltage VGG minus the nMOS threshold voltage VT, or VGG-VT. VGG is upperly bounded by the maximum voltage that can safely be applied to the gate of an nMOS transistor without damaging the transistor gate oxide.
Using low-threshold or zero-threshold pass transistors eliminates most of the threshold drop, and thus avoids the static power dissipation in the downstream buffer. Since the subthreshold leakage current increases exponentially as the threshold voltage is reduced, sneak DC-current paths can be formed between line drivers of different output logic levels, and isolated by off low-threshold or zero-threshold pass transistors, as described in J. M. Rabaey, A. Chandrakasan, and B. Nikolić, “Digital Integrated Circuits: A Design Perspective,” 2nd edition, Prentice-Hall, 2003. In addition, combining devices of different threshold on a single chip requires additional steps during device fabrication, which makes the solution more expensive and also technology dependent.
The cascode voltage switch logic family, which is presented in FIG. 11, can also be used for level restoring, but it requires differential signaling. The inverted signal can be routed to the level-restoring buffer through a dedicated interconnect, but this adds a considerable area overhead in an FPGA where the interconnect is the dominant area component. The inverted signal can also be generated locally by a low-voltage inverter as shown in FIG. 12, but this requires a second power supply.
Another technique is to compare the input low-voltage signal to a reference signal using a differential amplifier configuration. The drawback of this method is the constant non-zero tail current required to bias the differential amplifier into the active region. Thus, the static current from the receiver blocks in the entire array will be unacceptable.
The level-restoring buffer shown in FIG. 13 has been proposed in R. Puri, L. Stok, J. Cohn, D. Kung, D. Pan, D. Sylvester, and A. Srivastava, “Pushing ASIC performance in a power envelope,” Proceedings of the 40th Annual Design Automation Conference, pages 788-793, Annaheim, Calif., June 2003. Since the first inverter is connected to the supply voltage through a parallel compound nMOS-pMOS that never has a zero series resistance, it suffers from increased delay against, for example, the cascode load based buffer. In addition, due to the diode-connected nMOS on the supply path, the drive strength of the first inverter is very sensitive to nMOS parameters variations and supply bounce, and leads to a large delay spread of the circuit.
The pass-transistor half latch shown in FIG. 14 also uses a dual voltage supply. The pass-transistor gate is driven from the lower voltage supply to accommodate low-swing signaling. It has been reported that this circuit is able to reduce the power consumption. The costs of such approach is the need for an additional voltage supply.
Therefore, it is desirable to provide alternative structures for implementing level-restoring buffers for programmable interconnect circuits that improves the propagation delay and power consumption at a minimum cost. It is further desirable to provide multiplexers having the same characteristics that can be used for any purpose in other integrated circuits.